Fix blktap2 test in xen-hotplug-cleanup
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 22 Feb 2010 10:07:27 +0000 (10:07 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 22 Feb 2010 10:07:27 +0000 (10:07 +0000)
The blktap2 test in xen-hotplug-cleanup was not quite right, causing
orphaned /vm/<uuid>/device node in xenstore.  Attempt to reattach the
device failed:

xen53: # xm block-attach 0 file:/tmp/d0 /dev/xvdp r
xen53: # xm block-detach 0 /dev/xvdp
xen53: # xenstore-ls /vm/00000000-0000-0000-0000-000000000000/device
vbd =3D ""
 51952 =3D ""
  frontend =3D "/local/domain/0/device/vbd/51952"
  frontend-id =3D "0"
  backend-id =3D "0"
  backend =3D "/local/domain/0/backend/vbd/0/51952"
xen53: # xm block-attach 0 file:/tmp/d0 /dev/xvdp r
Error: Device /dev/xvdp (51952, vbd) is already connected.
Usage: xm block-attach <Domain> <BackDev> <FrontDev> <Mode>
[BackDomain]

From: Jim Fehlig <jfehlig@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/hotplug/Linux/xen-hotplug-cleanup

index f4d016232d0c64c179ab3533b0a825837e915a59..adaa9d6a238db0e76ae1961c3f6043c30bd4685c 100644 (file)
@@ -21,7 +21,7 @@ if [ "$vm" != "" ]; then
 
   # if the vm path does not exist and the device class is 'vbd' then we may have
   # a tap2 device
-  if [ ! $(xenstore-read "vm_dev" 2>/dev/null) ] \
+  if [ $(xenstore-read "$vm_dev" 2>/dev/null) != "" ] \
        && [ "${path_array[1]}" = "vbd" ]; then
     vm_dev="$vm/device/tap2/${path_array[3]}"
   fi